<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: 流年 <liu21st@gmail.com>
// +----------------------------------------------------------------------

// 应用公共文件

/**
 * 判断是否为手机访问
 * @return  boolean
 */
function is_mobile()
{
    static $is_mobile;

    if (isset($is_mobile)) {
        return $is_mobile;
    }

    if (empty($_SERVER['HTTP_USER_AGENT'])) {
        $is_mobile = false;
    } elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false
        || strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false
        || strpos($_SERVER['HTTP_USER_AGENT'], 'Silk/') !== false
        || strpos($_SERVER['HTTP_USER_AGENT'], 'Kindle') !== false
        || strpos($_SERVER['HTTP_USER_AGENT'], 'BlackBerry') !== false
        || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false
        || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mobi') !== false
    ) {
        $is_mobile = true;
    } else {
        $is_mobile = false;
    }

    return $is_mobile;
}

/**
 * 发送邮件
 * @param $to_email
 * @param $body
 * @param $title
 * @return bool
 */
function sendEmail($to_email,$body,$title){
    $option = \think\facade\Config::pull('phpemail');

    $mail=new \PHPMailer\PHPMailer\PHPMailer();
    if(!is_array($to_email)){
        $to_email = [$to_email];
    }
    $state = true;
    foreach ($to_email as $to){
        // 设置PHPMailer使用SMTP服务器发送Email
        $mail->IsSMTP();
        // 设置邮件的字符编码，若不指定，则为'UTF-8'
        $mail->CharSet='UTF-8';
        $mail->Port = 465; # ssl方式 用465端口
        // 添加收件人地址，可以多次使用来添加多个收件人
        $mail->AddAddress($to);
        $mail->IsHTML(true);
        // 设置邮件正文
        $mail->Body=$body;
        // 设置邮件头的From字段。
        $mail->From=$option['from_email'];
        // 设置发件人名字
        $mail->FromName=$option['from_name'];
        // 设置邮件标题
        $mail->Subject=$title;
        // 设置SMTP服务器。
        $mail->Host=$option['host'];
        // 设置为"需要验证"
        $mail->SMTPAuth=true;
        // 设置用户名和密码。
        $mail->Username=$option['username'];
        $mail->Password=$option['password'];
        // 发送邮件。
        $re = $mail->Send();
        if(!$re){
            $state = false;
            break;
        }
    }
    return $state;
}

/**
 * 加密
 * @param $str
 * @return string
 */
function authcode($str)
{
    $option = \think\facade\Config::pull('captcha');
    $key = substr(md5($option['seKey']), 5, 8);
    $str = substr(md5($str), 8, 10);
    return md5($key . $str);
}

function getRecKeyName($from, $to) {
    return ($from > $to) ? $to . '_' . $from : $from . '_' . $to;
}